正则表达式模块
C++ 的标准库本身并不包含正则表达式,但是自 C++11 开始,有一个正则表达式库 <regex>
可以使用。
以下是一个简单的 C++ 正则表达式示例:
cpp
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string s = "This is a sample text with 1234 numbers in it.";
std::regex e ("\\d+"); // 匹配一个或多个数字
// 使用 std::sregex_iterator 迭代器查找所有匹配项
std::sregex_iterator<std::string::iterator> rit (s.begin(), s.end(), e);
std::sregex_iterator<std::string::iterator> rend;
while (rit != rend) {
std::cout << rit->str() << std::endl; // 输出匹配的数字
++rit;
}
return 0;
}
在这个例子中,我们定义了一个字符串 s
和一个正则表达式 e
,该正则表达式可以匹配一个或多个数字。然后我们使用 std::sregex_iterator
迭代器查找 s
中所有与 e
匹配的子串,并输出它们。